package flst.ipiweb.persistance.dao;

import java.util.List;

import flst.ipiweb.transverse.CodePromotionnel;
import flst.ipiweb.transverse.IPIException;

public interface ICodePromoDao {
	
	/**
	 * Cette méthode permet de créer un code promo en base
	 * @param codePromo : le code promo à créer
	 * @return CodePromotionnel : le code promo mis à jour
	 */
	public void createCodePromo(CodePromotionnel codePromo) throws IPIException;
	
	/**
	 * Cette méthode permet de mettre à jour un code promo en base
	 * @param codePromo : le code promo à mettre à jour
	 * @return CodePromotionnel : le code promo mis à jour
	 */
	public void updateCodePromo(CodePromotionnel codePromo) throws IPIException;
	
	/**
	 * Cette méthode permet de supprimer un code promo en base
	 * @param codePromo : le code promo à supprimer 
	 */
	public void deleteCodePromo(CodePromotionnel codePromo) throws IPIException;
	
	/**
	 * Cette méthode permet de récupérer la liste des codes promo en base
	 * @return List<CodePromotionnel> : la liste des codes promo
	 */
	public List<CodePromotionnel> listerCodePromo() throws IPIException;
	
	/**
	 * Cette méthode permet de récupérer un code promo en base par son id
	 * @param idCodePromo
	 * @return Code Promotionnel
	 */
	public CodePromotionnel getCodePromoById(int idCodePromo);
	
}
